package com.company.app.dao;

import java.util.List;

import com.company.app.entities.ProductType;
import com.google.code.ssm.api.BridgeMethodMapping;
import com.google.code.ssm.api.BridgeMethodMappings;

/**
 * The Interface ProductTypeDAO.
 */
@BridgeMethodMappings(value={	
		@BridgeMethodMapping(methodName="searchEntityByFilter", erasedParamTypes = {ProductType.class }, targetParamTypes = { ProductType.class }) ,
		@BridgeMethodMapping(methodName="insertEntity", erasedParamTypes = {ProductType.class }, targetParamTypes = { ProductType.class }),
		@BridgeMethodMapping(methodName="updateEntity", erasedParamTypes = {ProductType.class }, targetParamTypes = { ProductType.class }),
		@BridgeMethodMapping(methodName="deleteEntity", erasedParamTypes = {ProductType.class }, targetParamTypes = { ProductType.class })
		})
public interface ProductTypeDAO extends BaseInterfaceDAO<ProductType> {

	/** The Constant MEMCHACHE_NAMESPACE. */
	public static final String MEMCHACHED_NAMESPACE = "com/company/app/dao/ProductType";

	/*
	 * (non-Javadoc) THIS OVERRIDE IS NEED IT BEACAUSE MEMCACHED RESOLVE THE
	 * CLASS OBJECT INSTEAD OF THE PRODUCYTYPE SO THIS IS A FIX IN ORDER TO
	 * INTEGRATE MEMCACHED
	 * 
	 * @see com.company.app.dao.BaseInterfaceDAO#searchEntities(java.util.List)
	 */
	@Override
	public List<ProductType> searchEntities(List<ProductType> filter);

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.company.app.dao.BaseInterfaceDAO#createEntity(java.lang.Object)
	 */
	@Override
	public ProductType createEntity(ProductType entity);

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.company.app.dao.BaseInterfaceDAO#updateEntity(java.lang.Object)
	 */
	@Override
	public ProductType updateEntity(ProductType entity);

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.company.app.dao.BaseInterfaceDAO#deleteEntity(java.lang.Object)
	 */
	@Override
	public ProductType deleteEntity(ProductType entity);

}
